Decay2 exponential decay


Inherits from: Object : AbstractFunction : UGen : Filter 


Decay2.ar(in, attackTime, decayTime, mul, add)

Decay2.kr(in, attackTime, decayTime, mul, add)


Decay has a very sharp attack and can produce clicks. Decay2 rounds off the attack by subtracting one Decay from another. Decay2.ar(in, attackTime, decayTime) is equivalent to:


Decay.ar(in, decayTime) - Decay.ar(in, attackTime)


in - input signal

attackTime - 60 dB attack time in seconds.

decayTime - 60 dB decay time in seconds.




// since attack and decay are a difference of two Decays, 

// swapping the values, the envelope turns upside down:

plot({ Decay2.ar(Impulse.ar(1), 0.001, 0.01) })

plot({ Decay2.ar(Impulse.ar(1), 0.01, 0.001) })


// used as an envelope

{ Decay2.ar(Impulse.ar(XLine.kr(1,50,20), 0.25), 0.01, 0.2, FSinOsc.ar(600)) }.play;


// compare the above with Decay used as the envelope

{ Decay.ar(Impulse.ar(XLine.kr(1,50,20), 0.25), 0.2, FSinOsc.ar(600), 0)  }.play;